The Impact of Variability Mechanisms on Sustainable Product Line Code Evolution

نویسنده

  • Thomas Patzke
چکیده

Many software development organizations today aim at reducing their development effort, while improving the quality and diversity of their products by building more reusable software, for example using the product line approach. A product line infrastructure is set up for deriving the similar products, but this infrastructure degenerates over time, making reuse increasingly hard. As a countermeasure, we developed a practical method for guiding product line developers in evolving product line code so that its decay caused by reuse is avoided. This paper gives an overview of some of our findings. Because product line code differs from single systems code only in its genericity, expressed by variability mechanisms, we analyzed to what degree the selection of certain mechanisms affect the code’s reuse complexity. Using the Goal-QuestionMetric (GQM) approach, we developed a quality model that lead to an extensible product line complexity metrics suite. A case study compared the evolution qualities of different product line implementations, with the following results: Cloning, the simplest mechanism, leads to similar short-term complexities than more advanced ones, making its interim usage appropriate. In the longer term, any other mechanism has a clearly lower complexity trend, especially if it is selected according to the variability management task at hand. A mix of Conditional Compilation and Frame Technology provides the best long-term evolution potential.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Variability in Evolving Software Product Lines

Software reuse is perceived as the key to successful software development because of the potential for shortened time to market, increased quality and reduced costs. In recent years software product lines have emerged as a promising way to achieve large scale software reuse. Challenges against successful reuse when developing in a software product line involves management of the differences bet...

متن کامل

Towards a Better Understanding of Software Product Line Evolution

In contrast to traditional software systems, the evolution of a Software Product Line (SPL) a ects not only artifacts like source code or requirements, but also variability information, which supports the customization of these artifacts across di erent products of the SPL. While some work exists that aims at characterizing the state and evolution of a product line from a feature perspective, t...

متن کامل

Software Product Line Evolution: the Linux Kernel

Software product lines promote explicit modeling of software variability and systematic reuse of underlying components. Evolution of software product lines occurs both in variability models and assets, such as source code. In this work, we did an empirical study that investigated evolution of the Linux kernel as an example of a product line. We classified different types of edits, and answered ...

متن کامل

I-16: The Evolution of Morality and Implications for Animal Usage

The propensity to show moral behaviour has evolved in all animals living in complex societies as it promotes social stability. All major religions provide a structure for a moral code. The code is valuable in the societies where the religions have influence. The most important aspects of morality are the same in all countries. Because of their moral code, people consider that they have obligati...

متن کامل

Four Mechanisms for Adaptable Systems: A Meta-level Approach to Building a Software Product Line

Meta-level architectures combined with domain-specific languages serve as a powerful tool to build and maintain a software product line: Meta-level architectures lead to adaptable software systems. Executable descriptions capture expert knowledge. We have developed a meta-level architecture for a software product line of legal expert systems. Four meta-level mechanisms support both variability ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010